<template>
  <div>
    <p>请选择你要购买的书籍</p>
    <ul>
      <li v-for="(item, index) in arr" :key="index">
        {{ item.name }}<button @click="btn(index)">买书</button>
      </li>
    </ul>
    <table border="1" width="500" cellspacing="0">
      <tr>
        <th>序号</th>
        <th>书名</th>
        <th>单价</th>
        <th>数量</th>
        <th>合计</th>
      </tr>

      <tr v-for="(item, index) in arr" :key="index">
        <td>{{ index + 1 }}</td>
        <td>{{ item.name }}</td>
        <td>{{ item.price }}</td>
        <td>{{ item.count }}</td>
        <td>{{ heji[index] }}</td>
      </tr>
    </table>
    <p>总价格为:{{ allPrice }}</p>
  </div>
</template>

<script>
export default {
  data() {
    return {
      heji: [0, 0, 0, 0, 0],
      allPrice: '0',
      arr: [
        {
          name: '水浒传',
          price: 1,
          count: 0
        },
        {
          name: '西游记',
          price: 2,
          count: 0
        },
        {
          name: '三国演义',
          price: 3,
          count: 0
        },
        {
          name: '红楼梦',
          price: 4,
          count: 0
        }
      ]
    }
  },

  methods: {
    btn(index) {
      console.log(index)
      this.arr[index].count += 1
    }
  },
  watch: {
    arr: {
      deep: true,
      handler(val) {
        val.forEach((item, index) => {
          this.heji[index] = item.count * item.price
        })
        this.allPrice = this.heji.reduce((sum, item) => {
          return sum + item
        }, 0)
      }
    }
  }
}
</script>
